#ifndef GUITHREAD_H_INCLUDED
#define GUITHREAD_H_INCLUDED

#include "Thread_Wrapper.h"
#include "MainWindow.h"
#include "Debug.h"

class GUIThread : public Thread_Wrapper {
    MainWindow area;
protected:
    static GUIThread* instance;
    virtual void execute();

public:
    static GUIThread* get_instance();
    static void destroy();
    void showAndRun();
    MainWindow &getMainWindow();
    ~GUIThread();

protected:
    GUIThread();
};

inline MainWindow &GUIThread::getMainWindow()
{
    return area;
}

#endif // GUITHREAD_H_INCLUDED
